#ifndef CUADRADO_H
#define CUADRADO_H

#include "Figura.h"
class Circulo;
class Cuadrado : public Figura {
private:
	short ancho;
	short alto;
public:
	Cuadrado(short x, short y, short ancho, short alto);
	virtual ~Cuadrado(void);
	// Retornan los vertices del cuadrado:
	short getX1();
	short getX2();
	short getY1();
	short getY2();
	// Devuelve el ancho del cuadrado
	short getAncho();
	// Devuelve el alto del cuadrado
	short getAlto();
	// Devuelve el punto en x perteneciente a la figura
	// mas cercano a x
	short getXCercanoA(short x);
	// Devuelve el punto en y perteneciente a la figura
	// mas cercano a y
	short getYCercanoA(short y);
	// Double dispatch utilizado para resolver colisiones
	bool seSuperponeCon(Figura * f);
	bool seSuperponeCon(Cuadrado * f);
	bool seSuperponeCon(Circulo * f);
};

#endif
